(Sql语句)
1.操作库
创建库CREATEDATABASE[IFNOTEXISTS]数据库名[参数[参数][参数]...];
显示库
SHOWDATABASES;
显示数据库创建语句
SHOWCREATEDATABASE数据库名;
修改库
ALTERDATABASE数据库名[参数[参数][参数]...];
注意:不能改数据库的名字
删除库
DROPDATABASE[IFEXISTS]数据库名;
2、操作表
操作表之前使用需要先确定使用哪个数据库
USE数据库名
创建表
CREATETABLE表名(列名类型[,列名类型][,列名类型]...);
查看所有表
SHOWTABLES;
查看表的创建语句
SHOWCREATETABLE表名;
显示表结构
DESC表名;
修改表名
RENAMETABLE原表名TO新表名;
修改字符集
ALTERTABLE表名CHARACTERSET字符集名;
删除表
DROPTABLE表名;
操作列
追加列
ALTERTABLE表名ADD列名类型[,列名类型][,列名类型]...;
修改列类型
ALTERTABLE表名MODIFY列名类型[,列名类型][,列名类型]...;
修改列
ALTERTABLE表名CHANGECOLUMN原列名新列名类型;
删除列
ALTERTABLE表名DROP列名;
操作数据(增删改)
插入
语法:
INSERTINTO表名[(列名[,列名]...)]VALUES(值[,值]...);
注意事项:
插入值类型必须与对应列的数据类型一致
数据不能超出长度
插入值得为之必须与列名顺序一致
字符和日期数据要放在单引号中
插入空值使用null
如果不指定插入哪一列,就是插入所有列
中文数据
由于默认码表是utf8,而cmd.exe的码表是gbk,在插入中文数据的时候会报错,所以我们需要修改客户端码表
先查看系统变量:SHOWVARIABLESLIKE'character%';
修改客户端码表:SETcharacter_set_client=gbk;
这样就解决了中文插入的问题,但在查询数据的时候仍然显示为乱码,这是因为mysql向cmd传输数据的时候使用的是utf8
修改输出数据的码表:SETcharacter_set_results=gbk
修改
语法
UPDATE表名SET列名=值[,列名=值]...[WHERE条件语句];
DISTINCT
语法
SELECT[DISTINCT]列名[,列名]...FROM表名
注意事项
*可以替代列名,表示所有列,但是通常我们为了提高代码的可读性,不使用*
DISTINCT为过滤重复记录
如果DISTINCT后面跟多列,是过滤掉多列合并之后的重复
表的约束
唯一约束unique
unique约束的字段在整张表中唯一,不可重复,不包括多个NULL
创建表时设置唯一
createtabletest(
idint,
namevarchar(20)unique
);
删除唯一约束
showcreatetabletest;发现唯一索引名叫name
altertabletestdropindexname;
添加唯一约束
altertabletestchangenamenamevarchar(20)unique;
非空约束notnull
notnull约束的字段不能为空
创建表时设置非空
createtabletest1(
idint,
namevarchar(20)notnull
);
删除非空约束
altertabletest1changenamenamevarchar(20);
添加非空约束
altertabletest1changenamenamevarchar(20)notnull;
主键约束primarykey
通常我们在设计表的时候需要给每一条记录一个独有的标识,我们就用主键来约束这个标识.
primarykey用来标识一个字段,这个字段是非空且唯一的.
创建表时设置主键
createtabletest2(
idintprimarykey,
namevarchar(20)
);
删除主键
altertabletest2dropprimarykey;
在制定列上添加主键
altertabletest2changeididintprimarykey;
altertabletest2addprimarykey(id);
设置主键自动增长
createtabletest3(
idintprimarykeyauto_increment,
namevarchar(20)
);
删除自增长
altertabletest3changeididint;
设置自增长
altertabletest3changeididintauto_increment;
UUID主键
128位的2进制,32位16进制加上4个-
java.util.UUID.randomUUID().toString()
3c2372a4-da2a-4470-b17a-f2e50ac79636
外键约束foreignkey
foreignkey约束某一列的值是参照另外一列
创建表时添加外键约束
createtablehusband(
idintprimarykey,
namevarchar(20)notnull
);
createtablewife(
idintprimarykey,
namevarchar(20)notnull,
husband_idint,
constrainthusband_id_fkforeignkey(husband_id)referenceshusband(id)
);
wife表的husband_id的值必须是husband表中的id
被外键引用的记录不能删除,如果想要删除某条被引用的记录,需要找到引用这条记录的记录,解除关联
被外键引用的表不能删除,如果想要删除被引用的表,需要删除所有引用此表的外键
删除外键约束
altertablewifedropforeignkeyhusband_id_fk;
添加外键约束
altertablewifeaddconstrainthusband_id_fkforeignkey(husband_id)referenceshusband(id)
相关推荐
sql语句命令sql语句命令sql语句命令sql语句命令sql语句命令sql语句命令
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
可是实现SQL的自动生成,再也不用为调式SQL语句错误而烦恼了!
全面的sql语句sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全
动态拼接sql语句工具类,拼接where后面语句 配合原生jdbc仿动态sql注入 if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); ...
SQL 语句大全 SQL 语句大全 SQL 语句大全
非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常...
在项目开发的过程中难免需要打印一下自己拼写的SQL语句,尤其是很长的SQL语句,看起来很不舒服,使用该jar包,打印出来的SQL语句已经被格式化,结构很清晰、简洁,更方便我们调试及分析
精妙SQL语句精妙SQL语句精妙SQL语句精妙SQL语句精妙SQL语句
功能: 根据表名、where条件,生成导出数据的SQL语句。(包含insert语句。结果可一键执行,利于数据导出、导入) 参数: @tableName nvarchar(100) --表名 ,@sqlWhere nvarchar(500) --where条件(传空时,导出全部...
Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值...
非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK
Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁
全面掌握SQL语句 详细的SQL语句介绍 详细的SQL语句介绍 详细的SQL语句介绍 详细的SQL语句介绍
一篇关于SQL语句比较全面的教程。 SQL语句教程(01) SELECT......................................2 SQL语句教程(02) DISTINCT...................................2 SQL语句教程(03) WHERE...........................
Delphi中sql语句的使用总结 Delphi中sql语句的使用总结 Delphi中sql语句的使用总结
《Effective MySQL之SQL语句最优化》是由MySQL专家Ronald Bradford撰著,书 中提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧 做了详细的解释。本书希望能够通过一步步详细介绍SQL优化...
经典SQL语句大全(各种sql语句) 各种复杂的SQl 都有,以及SQL语句的灵活运用
全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句
经典SQL语句大全经典SQL语句大全经典SQL语句大全经典SQL语句大全经典SQL语句大全