新手学习MySQL基础笔记二

短命女 2024-03-26 15:03 204阅读 0赞
  1. -- ZEROFILL 填补0--自动添加unsigned
  2. CREATE table number3(
  3. n1 int UNSIGNED COMMENT"字段1",
  4. n2 int ZEROFILL,
  5. n3 int(3) ZEROFILL
  6. )
  7. INSERT into number3 values(1,1,1)
  8. SELECT * from number3
  9. desc number3
  10. -- 浮点类型
  11. -- FLOAT
  12. -- FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
  13. -- M 总长度(包含小数位),D 小数位
  14. -- float double近似值,decimal精确值(货币)
  15. CREATE TABLE number4(
  16. n1 FLOAT(10,8) COMMENT"字段1",
  17. n2 DOUBLE(10,8) COMMENT"字段2",
  18. n3 decimal(10,8)COMMENT"字段3")COMMENT"字段表"
  19. desc number4
  20. INSERT into number4 VALUES(0.1+0.3,0.1+0.3,0.1+0.3)
  21. SELECT *from number4
  22. CREATE TABLE number5(
  23. n1 FLOAT(10,2) COMMENT"字段1",
  24. n2 DOUBLE(10,2) COMMENT"字段2",
  25. n3 decimal(10,2)COMMENT"字段3")COMMENT"字段表"
  26. desc number5
  27. -- 四舍五入
  28. INSERT into number5 VALUES(1.234,1.234,1.234),(1.235,1.235,1.235)
  29. SELECT *from number5
  30. -- 字符串类型
  31. -- char定长(至多255字节) varchar 变长(至多65535字节)
  32. -- char10 varchar10'ok'-->char1010字节 varchar102字节
  33. -- char效率高不省空间(密码字段) VARCHAR(用户名称)省空间 text(至多65535字节 文章字段 效率最低) BLOB二进制对象(视频 ,音频数据)
  34. -- 65535/3=21844+1,一个表中的所有charvarchar总长度不能超过这个21844 一个中文占3个字节
  35. CREATE TABLE string(
  36. s1 char(1),
  37. s2 VARCHAR(21844))
  38. CREATE TABLE string2(
  39. s1 char(10),
  40. s2 VARCHAR(10))
  41. desc string2
  42. INSERT into string2 VALUES('ab ','ab ')
  43. select CONCAT(s1,'+'),CONCAT(s2,'+')from string2
  44. -- 枚举类型 取一个值
  45. -- enum中文名叫枚举类型,它的值范围需要在创建表时通过枚举方式显示指定,对于1~255个成员的枚举需要 1个字节存储,对于255~65535个成员,需要2个字节来存储,最多允许65535个成员
  46. -- 忽略大小写
  47. CREATE table string3(
  48. sex enum('M','W','S'))
  49. INSERT into string3(sex) values('W'),('w')
  50. SELECT *from string3
  51. -- SET类型 取多个值
  52. CREATE TABLE string4(
  53. aihao set('kanshu','guangjie','xuexi','kandianying')
  54. )
  55. insert into string4(aihao) values('kanshu'),('kanshu,xuexi,kandianying')
  56. SELECT *from string4
  57. -- 时间日期类型
  58. -- year 1字节 time 3字节,date 4字节,datetime 8字节 timestamp 4字节
  59. -- datetime(常用) timestamp(有范围,有时区,一般需要时区转换的公司需要) INT
  60. -- timestamp 时间戳:格林威治时间1970-01-0100:00:00-2038~的秒(最大2147483637
  61. -- 默认是4位格式中,允许的值是1901~21550000.2位格式中,允许的值是70~69,表示从1970~2069
  62. -- time的范围-838:59:59~838:59:59
  63. CREATE TABLE mydate(
  64. d1 year,d2 time,d3 date,d4 datetime,d5 timestamp
  65. )
  66. desc mydate
  67. INSERT into mydate values(now(),now(),now(),now(),now())
  68. SELECT *from mydate
  69. -- json类型 json{
  70. "name":"tom","age":18}键值双引号,对象{
  71. name:'tom',age:18}
  72. CREATE table object1(
  73. o1 json
  74. )
  75. INSERT into object1 values('{"name":"tom","age":18}')
  76. SELECT *from object1
  77. -- 写一个完整表结构
  78. CREATE TABLE admin(
  79. id int unsigned PRIMARY key auto_increment COMMENT '编号',
  80. username VARCHAR(30) not null UNIQUE COMMENT'会员名',
  81. password char(32) not null COMMENT'密码',
  82. age tinyint unsigned not null default 18 COMMENT'年龄',
  83. sex enum('男','女') not null default'男 ' comment'性别',
  84. email VARCHAR(60) not null unique COMMENT'邮箱',
  85. salary DECIMAL(10,2) not null default 0 COMMENT'薪水',
  86. created datetime not null COMMENT '创建时间'
  87. )
  88. desc admin
  89. INSERT into admin(username,password,email,created)
  90. values('张三',MD5('123456'),'11@163.com',NOW())
  91. -- 注意delete清空数据 auto_increment不能重置问题
  92. -- truncate 清空数据 auto_increment 可以重置
  93. SELECT *from admin
  94. truncate admin

发表评论

表情:
评论列表 (有 0 条评论,204人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c++基础学习笔记

    \-----摘自c++菜鸟教程---- 模板 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比