mysql

来源:互联网 发布:ccer数据库 豆掰 编辑:程序博客网 时间:2024/06/10 20:09

1mysql操作(整理自菜鸟教程)

1.登录:mysql -u root -p
 password:xxxxx
2.创建数据库:create database database_name;
 查看数据库:show databases;
 删除数据库:drop database database_name;
 选择数据库:use database_name;
3.创建数据表:表名,字段(字段名,类型,属性(限制条件)),表限制条件(主键,引擎,默认编码等)

mysql> CREATE TABLE table_name(   -> demo_id INT NOT NULL AUTO_INCREMENT,   -> demo_name VARCHAR(100) NOT NULL,   -> demo_text VARCHAR(40) NOT NULL,   -> demo_today DATE,   -> PRIMARY KEY ( demo_id )   -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;

 删除数据表:drop table table_name;
 修改表名:ALTER TABLE testalter_tbl RENAME TO alter_tbl;
 添加字段:ALTER TABLE testalter_tbl ADD i INT FIRST;(添加到最前面,默认最后面)
      ALTER TABLE testalter_tbl ADD i INT AFTER c;(添加到字段c后面)
 删除字段:ALTER TABLE testalter_tbl DROP i;
 修改字段:ALTER TABLE testalter_tbl MODIFY c CHAR(10);(修改字段类型)
      ALTER TABLE testalter_tbl CHANGE i j BIGINT;(修改字段名称+类型)
4.插入数据:insert into table_name ( field1, field2,…fieldN ) values( value1, value2,…valueN );
 查询数据:select column_name,column_name FROM table_name 条件语句
 查询全部:select * from table_name
 更新数据:update table_name SET field1=new-value1,field2=new-value2 [where Clause]
 删除数据:delete from table_name where demo_id=3;
5.其他:
 字句:where
 like :SELECT * from runoob_tbl WHERE url LIKE ‘%COM’;
 union:union 操作符用于连接两个以上的 select 语句的结果组合到一个结果集合中。多个 select 语句会删除重复的数据。
 排序:order by 字段名 DESC(降序)默认为升序ASC。
groupby,roullup,coalesce(a,b,c)(a==null,选择b,b也==null,则选c):

mysql> SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;+--------------------------+--------------+| coalesce(name, '总数') | singin_count |+--------------------------+--------------+| 小丽                   |            2 || 小明                   |            7 || 小王                   |            7 || 总数                   |           16 |+--------------------------+--------------+4 rows in set (0.01 sec)

6.连接:inner join,left join,right join
7.正则表达式(使用like时)

^   匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n''\r' 之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n''\r' 之前的位置。.   匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。[...]   字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。[^...]  负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。p1|p2|p3    匹配 p1 或 p2 或 p3。例如,'z|food' 能匹配 "z""food"'(z|f)ood' 则匹配 "zood""food"。*   匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。+   匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。{n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。{n,m}   m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

8.事务:数据库常用事务有:commit(提交),rollback(回滚)。
9.索引:

2类型&属性

时间类型

DATE    3   1000-01-01/9999-12-31   YYYY-MM-DD  日期值TIME    3   '-838:59:59'/'838:59:59'    HH:MM:SS    时间值或持续时间YEAR    1   1901/2155   YYYY    年份值DATETIME=DATE + TIMETIMESTAMP=DATETIME-格式   

整型有符号

tinyint 1字节,范围(-128~127)smallint    2字节,范围(-32768~32767)mediumint   3字节,范围(-8388608~8388607int 4字节,范围(-2147483648~2147483647)bigint  8字节,范围(+-9.22*1018次方)整形无符号tinyint unsigned的取值范围为0~255

浮点型(m总个数,d小数位)

float(m, d) 4字节,单精度浮点型,double(m, d)    8字节,双精度浮点型,decimal(m, d)   decimal是存储为字符串的浮点数

字符串

1字节(byte)=8bit1个字符(char)=2字节,一个汉字是2字符short 2,char 2,float 4,int 4,long 8,double 8char(n) 固定长度,最多255个字符varchar(n)  可变长度,最多65535个字符tinytext    可变长度,最多255个字符text    可变长度,最多65535个字符mediumtext  可变长度,最多224次方-1个字符longtext    可变长度,最多232次方-1个字符char和varchar最大的区别就在于char不管实际value都会占用n个字符的空间,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1<=n。超过char和varchar的n设置后,字符串会被截断。char在存储的时候会截断尾部的空格,varchar和text不会。varchar会使用1-3个字节来存储长度,text不会。

其他类型

1.enum(“member1″, “member2″, … “member65535″)enum数据类型就是定义了一种枚举,最多包含65535个不同的成员。当定义了一个enum的列时,该列的值限制为列定义中声明的值。如果列声明包含NULL属性,则NULL将被认为是一个有效值,并且是默认值。如果声明了NOT NULL,则列表的第一个成员是默认值。2.set(“member”, “member2″, … “member64″)set数据类型为指定一组预定义值中的零个或多个值提供了一种方法,这组值最多包括64个成员。值的选择限制为列定义中声明的值。

常用属性

1.auto_increment:id自增2.binary:binary属性只用于char和varchar值。当为列指定了该属性时,将以区分大小写的方式排序。与之相反,忽略binary属性时,将使用不区分大小写的方式排序。3.default:设置默认值如default '0'4.index:索引5.not null:不允许向该列插入null值。6.null:与上面相反,但不代表空或者07.primary key:指定为主键的列8.unique:列的值不重复,只是null值可以重复。9.zerofill:zerofill属性可用于任何数值类型,用0填充所有剩余字段空间。例如,无符号int的默认宽度是10;因此,当“零填充”的int值为4时,将表示它为0000000004
原创粉丝点击